A Formal Speci cation of JavaTM Virtual Machine Instructions
نویسنده
چکیده
In this paper we formally specify a large subset of Java Virtual Machine instructions based on the descriptions in the Java Virtual Machine Speciication by Lindholm and Yellin, in the Java Speciication by Gosling, Joy and Steele, and based on the behaviors of some test programs on Sun's implementation of the Java Virtual Machine. The formal speciication describes the runtime behaviors of the instructions in related memory areas as (runtime) state transitions and most structural constraints on instructions as a compile-time (or link-time) type inference system. The latter part corresponds to a core of the Bytecode Veriier and resembles dataaow analysis and abstract interpretation. We prove properties based on the formal speciication. In particular, we prove that if the type inference system can derive certain compile-time (or link-time) types for a program, then the runtime data of the program will be type-correct with respect to these types in a certain sense. Indeed, our formal speciication clariies some ambiguities and incompleteness and removes some (in our view) unnecessary restrictions in the description of the (informal) Java Virtual Machine Speciication.
منابع مشابه
A Formal Speci cation of Java Virtual Machine Instructions for Objects Methods and Subroutines
In this chapter we formally specify a subset of Java Virtual Machine JVM instructions for objects methods and subroutines based on the o cial JVM Speci cation the o cial Java Language Speci cation and Sun s JDK imple mentation of the JVM Our formal speci cation describes the runtime behaviors of the instructions in relevant memory areas as state transitions and most structural and linking const...
متن کاملA Formal Speci cation of JavaTM
In this chapter we formally specify a subset of Java Virtual Machine (JVM) instructions for objects, methods and subroutines based on the oocial JVM Speciication, the oocial Java Language Speciication and Sun's JDK 1.1.4 implementation of the JVM. Our formal speciication describes the runtime behaviors of the instructions in relevant memory areas as state transitions and most structural and lin...
متن کاملA Formal Executable Semantics of the JavaCard Platform
We present a formal executable speci cation of two crucial JavaCard platform components namely the Java Card Virtual Machine JCVM and the ByteCode Veri er BCV Moreover we relate both components by giving a proof of correctness of the ByteCode Veri er Both formalisations and proofs have been machined checked using the proof assistant Coq
متن کاملFormal Veri cation of an Avionics Microprocessor
Formal speci cation combined with mechanical veri cation is a promising approach for achieving the extremely high levels of assurance required of safety-critical digital systems. However, many questions remain regarding their use in practice: Can these techniques scale up to industrial systems, where are they likely to be useful, and how should industry go about incorporating them into practice...
متن کاملImplementing a JavaTM Virtual Machine in the Java Programming Language
JavaInJava is a Java virtual machine written in the JavaTM programming language. The system was built at Sun Microsystems Laboratories in order to examine the feasibility of constructing high-quality virtual machines using the Java programming language and to experiment with new virtual machine implementation techniques. In this paper we describe the overall architecture of JavaInJava and summa...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997